iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 14
0

接下來要進行的是Routing的部分,在那之前,我要先來瞭解RESTful API。

REST

表現層狀態轉換(英語:Representational State Transfer,縮寫:REST),是一種全球資訊網軟體架構風格,目的是便於不同軟體/程式在網路(例如網際網路)中互相傳遞資訊。

表現層狀態轉換是根基於超文字傳輸協定(HTTP)之上而確定的一組約束和屬性,是一種設計提供全球資訊網絡服務的軟體構建風格。符合或相容於這種架構風格(簡稱為 REST 或 RESTful)的網路服務,允許用戶端發出以統一資源標識符存取和操作網路資源的請求,而與預先定義好的無狀態操作集一致化。因此表現層狀態轉換提供了在網際網路的計算系統之間,彼此資源可互動使用的協作性質(interoperability)。

API

應用程式介面(英語:Application Programming Interface,縮寫:API;又稱為應用程式編程介面),是應用程式和應用程式之間的橋樑。

HTTP request

ESTful API設計的第一步,是充份了解常用的HTTP動詞。一些API設計的選擇容或見人見智,用錯HTTP動詞就不好了。

  • GET: 讀取資源 (safe & idempotent)
  • PUT: 替換資源 (idempotent)
  • DELETE: 刪除資源 (idempotent)
  • POST: 新增資源;也作為萬用動詞,處理其它要求
  • PATCH: 更新資源部份內容
  • HEAD: 類似GET,但只回傳HTTP header (safe & idempotent)
    其它還有一些較少用到的,可參考Wikipedia: Hypertext Transfer Protocol

一般的 API 可能長得像這樣

  • /api/get_file/ ( 得到檔案 )
  • /api/upload_file/ ( 新增檔案 )
  • /api/update_file/ ( 更新檔案 )
  • /api/delete_file/ ( 刪除檔案 )

RESTful API 則長得像這樣

  • /api/files/ ( GET -> 得到檔案 )
  • /api/files/ ( POST -> 新增檔案 )
  • /api/files/ ( PUT -> 更新檔案)
  • /api/files/ ( DELETE -> 刪除檔案 )

RESTful API 與一般 API 相比是不是比較優雅簡潔,清楚簡短且可讀性高。


上一篇
DAY13 --- [番外]上海行 (其二)
下一篇
DAY15 --- Laravel: 路由(routing)
系列文
砍掉重練啦! 森林系男孩之後端工程師潛水App挑戰計畫27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言